﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Common;
using System.Data.SqlClient;
using System.Data;

namespace CAD.DAO
{
    public class DAOLocaciones
    {
        public int Insertar( int INUMEROLOCACION, int LSUBAREAS_ID, int ICONCURRENCIA)
        {
            List<DbParameter> lstParametros = new List<DbParameter>();
            DbParameter prmA = new SqlParameter();
            prmA.DbType = DbType.Int32;
            prmA.ParameterName = "@LLOCACIONES_ID";
            prmA.Direction = ParameterDirection.Output;
            lstParametros.Add(prmA);

            DbParameter prmB = new SqlParameter();
            prmB.DbType = DbType.Int32;
            prmB.ParameterName = "@INUMEROLOCACION";
            prmB.Value = INUMEROLOCACION;
            prmB.Direction = ParameterDirection.Input;
            lstParametros.Add(prmB);
            
            

            DbParameter prmC = new SqlParameter();
            prmC.DbType = DbType.Int32;
            prmC.ParameterName = "@ICONCURRENCIA ";
            prmC.Value = 1;
            prmC.Direction = ParameterDirection.Input;
            lstParametros.Add(prmC);
  DbParameter prmaB = new SqlParameter();
              prmaB.DbType = DbType.Int32;
            prmaB.ParameterName = "@LSUBAREAS_ID";
            prmaB.Value = LSUBAREAS_ID;
            prmaB.Direction = ParameterDirection.Input;
            lstParametros.Add(prmaB);
            DbParameter prmD = new SqlParameter();
            prmD.DbType = DbType.Int32;
            prmD.ParameterName = "@iEvento";
            prmD.Value = 1;
            prmD.Direction = ParameterDirection.Input;
            lstParametros.Add(prmD);

            SQLConexion conProxy = new SQLConexion();
            if (conProxy.EjecutarDML(lstParametros, "dbo.SPABM_LOCACIONES"))
                return Convert.ToInt32(prmA.Value);
            return -1;

        }
        public int Insertar(int LLOCACIONES_ID, int INUMEROLOCACION, int LSUBAREAS_ID, int ICONCURRENCIA, SqlTransaction transaccion)
        {
            List<DbParameter> lstParametros = new List<DbParameter>();
            DbParameter prmA = new SqlParameter();
            prmA.DbType = DbType.Int32;
            prmA.ParameterName = "@LLOCACIONES_ID";
            prmA.Direction = ParameterDirection.Output;
            lstParametros.Add(prmA);

            DbParameter prmB = new SqlParameter();
            prmB.DbType = DbType.Int32;
            prmB.ParameterName = "@INUMEROLOCACION";
            prmB.Value = INUMEROLOCACION;
            prmB.Direction = ParameterDirection.Input;
            lstParametros.Add(prmB);



            DbParameter prmC = new SqlParameter();
            prmC.DbType = DbType.Int32;
            prmC.ParameterName = "@ICONCURRENCIA ";
            prmC.Value = 1;
            prmC.Direction = ParameterDirection.Input;
            lstParametros.Add(prmC);
            DbParameter prmaB = new SqlParameter();
            prmaB.DbType = DbType.Int32;
            prmaB.ParameterName = "@LSUBAREAS_ID";
            prmaB.Value = LSUBAREAS_ID;
            prmaB.Direction = ParameterDirection.Input;
            lstParametros.Add(prmaB);
            DbParameter prmD = new SqlParameter();
            prmD.DbType = DbType.Int32;
            prmD.ParameterName = "@iEvento";
            prmD.Value = 1;
            prmD.Direction = ParameterDirection.Input;
            lstParametros.Add(prmD);
            SQLConexion conProxy = new SQLConexion();
            if (conProxy.EjecutarDML(lstParametros, "dbo.SPABM_LOCACIONES", transaccion))
                return Convert.ToInt32(prmA.Value);
            return -1;

        }
        public bool Actualizar(int LLOCACIONES_ID, int INUMEROLOCACION, int LSUBAREAS_ID, int ICONCURRENCIA)
        {
            List<DbParameter> lstParametros = new List<DbParameter>();

            DbParameter prmA = new SqlParameter();
            prmA.DbType = DbType.Int32;
            prmA.ParameterName = "@LLOCACIONES_ID";
            prmA.Value = LLOCACIONES_ID;
            prmA.Direction = ParameterDirection.Input;
            lstParametros.Add(prmA);

            DbParameter prmB = new SqlParameter();
            prmB.DbType = DbType.Int32;
            prmB.ParameterName = "@INUMEROLOCACION";
            prmB.Value = INUMEROLOCACION;
            prmB.Direction = ParameterDirection.Input;
            lstParametros.Add(prmB);



            DbParameter prmC = new SqlParameter();
            prmC.DbType = DbType.Int32;
            prmC.ParameterName = "@ICONCURRENCIA ";
            prmC.Value = 1;
            prmC.Direction = ParameterDirection.Input;
            lstParametros.Add(prmC);
            DbParameter prmaB = new SqlParameter();
            prmaB.DbType = DbType.Int32;
            prmaB.ParameterName = "@LSUBAREAS_ID";
            prmaB.Value = LSUBAREAS_ID;
            prmaB.Direction = ParameterDirection.Input;
            lstParametros.Add(prmaB);
            DbParameter prmD = new SqlParameter();
            prmD.DbType = DbType.Int32;
            prmD.ParameterName = "@iEvento";
            prmD.Value = 1;
            prmD.Direction = ParameterDirection.Input;
            lstParametros.Add(prmD);
            SQLConexion conProxy = new SQLConexion();
            return conProxy.EjecutarDML(lstParametros, "dbo.SPABM_LOCACIONES");
        }
        public bool Eliminar(int LLOCACIONES_ID)
        {
            List<DbParameter> lstParametros = new List<DbParameter>();

            DbParameter prmA = new SqlParameter();
            prmA.DbType = DbType.Int32;
            prmA.ParameterName = "@LLOCACIONES_ID";
            prmA.Value = LLOCACIONES_ID;
            prmA.Direction = ParameterDirection.Input;
            lstParametros.Add(prmA);

            DbParameter prmD = new SqlParameter();
            prmD.DbType = DbType.Int32;
            prmD.ParameterName = "@iEvento";
            prmD.Value = 3;
            prmD.Direction = ParameterDirection.Input;
            lstParametros.Add(prmD);

            SQLConexion conProxy = new SQLConexion();
            return conProxy.EjecutarDML(lstParametros, "dbo.SPABM_LOCACIONES");
        }
        public DataSet Traerlocacion()
        {
            List<DbParameter> lstParametros = new List<DbParameter>();
            DbParameter prmD = new SqlParameter();
            prmD.DbType = DbType.Int32;
            prmD.ParameterName = "@iEvento";
            prmD.Value = 4;
            prmD.Direction = ParameterDirection.Input;
            lstParametros.Add(prmD);
            SQLConexion conProxy = new SQLConexion();
            return conProxy.EjecutarConsulta(lstParametros, "dbo.SPABM_LOCACIONES");
        }
        public DataSet TraerlocacionXId(int LLOCACIONES_ID)
        {
            List<DbParameter> lstParametros = new List<DbParameter>();

            DbParameter prmA = new SqlParameter();
            prmA.DbType = DbType.Int32;
            prmA.ParameterName = "@LLOCACIONES_ID";
            prmA.Value = LLOCACIONES_ID;
            prmA.Direction = ParameterDirection.Input;
            lstParametros.Add(prmA);

            DbParameter prmD = new SqlParameter();
            prmD.DbType = DbType.Int32;
            prmD.ParameterName = "@iEvento";
            prmD.Value = 5;
            prmD.Direction = ParameterDirection.Input;
            lstParametros.Add(prmD);
            SQLConexion conProxy = new SQLConexion();
            return conProxy.EjecutarConsulta(lstParametros, "dbo.SPABM_LOCACIONES");
        }
       
    }
}
